package com.pjnkj.thunder.common.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {

	public static String dateDiff(String startTime, String endTime, String format, String str) {
		// 按照传入的格式生成一个simpledateformate对象
		SimpleDateFormat sd = new SimpleDateFormat(format);
		long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数
		long nh = 1000 * 60 * 60;// 一小时的毫秒数
		long nm = 1000 * 60;// 一分钟的毫秒数
		long ns = 1000;// 一秒钟的毫秒数
		long diff = 0;
		long day = 0;
		long hour = 0;
		long min = 0;
		long sec = 0;
		String times = "";
		// 获得两个时间的毫秒时间差异
		try {
			diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();
			day = diff / nd;// 计算差多少天
			hour = diff % nd / nh + day * 24;// 计算差多少小时
			min = diff % nd % nh / nm + day * 24 * 60;// 计算差多少分钟
			sec = diff % nd % nh % nm / ns;// 计算差多少秒
			// 输出结果
			System.out.println(
					"时间相差：" + day + "天" + (hour - day * 24) + "小时" + (min - day * 24 * 60) + "分钟" + sec + "秒。");
			System.out.println("hour=" + hour + ",min=" + min);
			times = day + "天" + (hour - day * 24) + "小时" + (min - day * 24 * 60) + "分钟" + sec + "秒。";
			if (str.equalsIgnoreCase("h")) {
				return hour + "";
			} else if (str.equalsIgnoreCase("d")) {
				return day + "";
			} else if (str.equalsIgnoreCase("m")) {
				return min + "";
			} else {
				return diff + "";
			}

		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if (str.equalsIgnoreCase("h")) {
			return hour + "";
		} else if (str.equalsIgnoreCase("d")) {
			return day + "";
		} else if (str.equalsIgnoreCase("m")) {
			return min + "";
		} else {
			return diff + "";
		}
	}

	public static void main(String[] args) {
		DateUtil dateUtils = new DateUtil();
		Date date = new Date();
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String time = simpleDateFormat.format(date);
		String sum = DateUtil.dateDiff("2018-12-11 13:50:12", "2018-12-15 13:52:32", "yyyy-MM-dd", "d");
		System.err.println("\n"+sum);
		System.err.println(Integer.parseInt(sum));

	}
}
